package yawning.mew.bear;

import yawning.mew.sim.SimulationEngine;
import yawning.mew.sim.SimulationEvent;

public class MeleeEvent extends SimulationEvent {
	BearModel mModel;

	public MeleeEvent(SimulationEngine su, BearModel model) {
		super(su);
		mModel = model;
		schedule(0.0);
	}

	@Override
	public void onExpire()  {
		schedule(Double.MAX_VALUE, mModel.getMeleeInterval());
	}

	@Override
	public void onTick() {
//		mModel.recalculateStats();
//		AttackResult result = getWhiteResult();
//
//		if (result == AttackResult.MISS) {
//			simStats.nrWhiteMiss++;
//		} else if (result == AttackResult.DODGE) {
//			simStats.nrWhiteDodge++;
//		} else {
//			double damage = weaponDamage;
//
//			if (result == AttackResult.GLANCE) {
//				simStats.nrWhiteGlance++;
//				damage *= 0.75;
//
//				onWhiteHit();
//			} else if (result == AttackResult.CRIT) {
//				simStats.nrWhiteCrit++;
//				damage *= multCrit;
//
//				onWhiteCrit();
//			} else {
//				simStats.nrWhiteHit++;
//
//				onWhiteHit();
//			}
//
//			// Build #12759, SR is auto attack only.
//			damage *= savageRoarEv.isUp() ? multRoar : 1;
//			damage *= getDirectDamageMult();
//			simStats.whiteDamage += Math.round(damage);
//
//			if (mDebug) DBGF("  Damage: %d", Math.round(damage));
//
//			oocEv.run();
//
//			if (furySwipesCDAt <= mSimUtil.getSimTime()) {
//				if (rng.nextBoolean(pFurySwipes)) {
//					result = getYellowResult();
//
//					if (mDebug) DBGF("Fury Swipes (%s)", result);
//
//					if (result == AttackResult.MISS) {
//						simStats.nrFurySwipesMiss++;
//					} else if (result == AttackResult.DODGE) {
//						simStats.nrFurySwipesDodge++;
//					} else {
//						damage = weaponDamage * multFurySwipes;
//
//						if (result == AttackResult.CRIT) {
//							simStats.nrFurySwipesCrit++;
//							damage *= multCrit;
//
//							onYellowCrit();
//						} else {
//							simStats.nrFurySwipesHit++;
//
//							onYellowHit();
//						}
//
//						damage *= getDirectDamageMult();
//						simStats.furySwipesDamage += Math.round(damage);
//
//						if (mDebug) DBGF("  Damage: %d", Math.round(damage));
//					}
//
//					furySwipesCDAt = mSimUtil.getSimTime() + furySwipesCDDuration;
//				}
//			}
//		}
//		setTickInterval(swingTimer);
	}
}
